[][src]Crate rc_zip

rc-zip

rc-zip is a zip archive library with a focus on compatibility and correctness.

Reading

ArchiveReader is your first stop. It ensures we are dealing with a valid zip archive, and reads the central directory. It does not perform I/O itself, but rather, it is a state machine that asks for reads at specific offsets.

An Archive contains a full list of entries, which you can then extract.

Writing

Writing archives is not implemented yet.

Modules

prelude

Prelude for rc-zip

Macros

fields
transition

Structs

Archive

An Archive contains general information about a zip files, along with a list of entries.

ArchiveReader

ArchiveReader parses a valid zip archive into an Archive. In particular, this struct finds an end of central directory record, parses the entire central directory, detects text encoding, and normalizes metadata.

ArchiveWriter
Directory
Entry

Describes a zip archive entry (a file, a directory, a symlink)

EntryReader
ExtraNewUnixField

Info-ZIP New Unix Extra Field:

ExtraNtfsField

4.5.5 -NTFS Extra Field (0x000a):

ExtraTimestampField

Extended timestamp extra field

ExtraUnixField

4.5.7 -UNIX Extra Field (0x000d):

ExtraZip64Field

4.5.3 -Zip64 Extended Information Extra Field (0x0001)

File
Mode

Mode represents a file's mode and permission bits. The bits have the same definition on all systems, but not all bits apply to all systems.

MsdosMode
NtfsAttr1
StoredEntry

An entry as stored into an Archive. Contains additional metadata and offset information.

Symlink
UnixMode
Version

A zip version (either created by, or required when reading an archive).

Enums

ArchiveReaderResult
Encoding

Encodings supported by this crate

EntryContents

The contents of an entry: a directory, a file, or a symbolic link.

EntryReaderResult
Error

Any zip-related error, from invalid archives to encoding problems.

ExtraField

Information stored in the central directory header extra field

FormatError

Specific zip format errors, mostly due to invalid zip archives but that could also stem from implementation shortcomings.

HostSystem

System on which an archive was created, as encoded into a version u16.

Method

Compression method used for a file entry.

NtfsAttr

NTFS attribute for zip entries (mostly timestamps)

UnsupportedError

Traits

ReadZip

A trait for reading something as a zip archive (blocking I/O model), when we can tell size from self.

ReadZipWithSize

A trait for reading something as a zip archive (blocking I/O model)